/**
 * 获取本地图
 * @param folder // 文件夹名字 如 /static/images/home
 * @param fileName // 文件名 如 home-bg
 * @param format // 文件类型 如 png jpg
 * @returns {*|string}
 */

const urlTobase64 = (folder, fileName, format = "png") => {
	// #ifdef MP-WEIXIN
	// let img = `/static/image/${fileName}.${format}`,
	let img = folder,
		imgBase64 = uni.getFileSystemManager().readFileSync(img, "base64"),
		base64Url = `data:image/png;base64,${imgBase64}`

	return base64Url
	// #endif

	// #ifdef APP-PLUS || H5
	return folder
	// #endif
}


function textOfAmountType(input) {
	let obj = {
		1: "其它",
		2: "优惠券抵扣",
		3: "优惠活动抵扣",
		4: "工人薪资构成-基础薪资",
		5: "工人薪资构成-综合绩效增加部分",
		6: "工人薪资构成-技能证书增加部分",
		7: "加班/节假日/调度 费用",
		8: "平台管理费-日收",
		9: "平台管理费-百分比",
		10: "工人技能培训费",
		11: "工人的个税"
	}
	return obj[input] === undefined ? '' : obj[input]
}

// 获取当前模式
async function getClient() {
	let client = "";
	// #ifdef APP-PLUS
	const systemInfo = await uni.getSystemInfoSync();
	if (systemInfo.platform === 'android') {
		client = 'android'
	} else if (systemInfo.platform === 'ios') {
		client = 'ios'
	}
	// #endif

	// #ifdef H5
	client = 'h5'
	// #endif

	// #ifdef MP-WEIXIN
	client = 'wx_mini'
	// #endif

	return client
}

function getDatesToEndOfMonth(month = '', hour = '') {
	console.log(month, hour);
	const dateArray = [];

	// 获取当前日期
	const today = new Date();

	// 获取当前年
	let year = today.getFullYear();

	let newHour = hour;

	// 获取当天时间
	let currentDay = today.getDate();

	// 获取当前时间的小时
	let currentHours = today.getHours();

	// 获取当前月份
	let currentMonth = today.getMonth() + 1;

	if (month == '') {
		month = currentMonth;
	}

	// 大于当前月份就重置为1号
	if (month > currentMonth) {
		currentDay = 1;
	}

	if (currentHours > 22) {
		currentDay = currentDay + 1
	}

	// 获取指定月份的最后一天
	const lastDayOfMonth = new Date(year, month, 0).getDate();

	// 如果传入的月份已经过去，直接返回空数组（防止获取未来月份）
	if (month < today.getMonth() + 1 || year < today.getFullYear()) {
		return dateArray;
	} else if (month - currentMonth > 2) {
		return dateArray;
	}

	// 循环从当前日期到该月最后一天
	for (let i = currentDay; i <= lastDayOfMonth; i++) {
		// 创建当前日期对象
		const currentDate = new Date(year, month - 1, i);
		let yearStr = currentDate.getFullYear();
		let monthStr = (currentDate.getMonth() + 1).toString().padStart(2, '0'); // 月份从0开始，调整为1-12，并确保两位数
		let dayStr = currentDate.getDate().toString().padStart(2, '0'); // 确保日期是两位数
		// 组装日期字符串，格式为 'yyyyMMdd'

		if (hour == '') {
			// 当天时间
			if (dayStr == currentDay && monthStr == currentMonth) {
				// 加 2 小时
				currentHours = (currentHours + 2) % 24; // 确保小时在 0 到 23 之间
				// 格式化为 24 小时制
				let timeString = `${currentHours < 10 ? '0' + currentHours : currentHours}:00`;
				newHour = timeString;
			} else {
				newHour = '08:00';
			}
		}


		let formattedDate = `${yearStr}-${monthStr}-${dayStr} ${newHour}`;
		dateArray.push(formattedDate);
	}

	return dateArray;
}


export default {
	urlTobase64,
	textOfAmountType,
	getClient,
	getDatesToEndOfMonth
}